In distributed processing systems, multiple processors communicate with each other and with memory devices to perform a shared computation. Because the types of computations involved are generally very complex or require a great deal of processing power, this type of communication often must be very high speed, and is typically implemented over a path through interconnected nodes within a fabric.
In some circumstances, such as a when a node between an intermediate node and an adjacent node in a data path becomes impassable, a data flit sent along that path by a source to a destination may become trapped at the intermediate node. Prior art methods of addressing data transmission errors, such as link-level retry among the nodes of the network, or a replay request from the destination to the source, are unable to salvage the trapped data, for example where the intermediate node is the only node that has a copy of the flit.